#include <iostream>
#include <algorithm>
using namespace std;

int dp1[105],dp2[105],a[105],s[105];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        dp2[i]=1;
        dp1[i]=1;
    }//输入并赋初值

    //预处理，从右往左LIS
    for(int i=n-1;i>=1;i--)//从倒数第二个元素遍历到第一个元素
    {
        for(int j=i+1;j<=n;j++)//从当前元素的下一个元素开始向后遍历到数组末尾
        {
            if(a[i]>a[j]&&dp2[i]<=dp2[j]+1)
            //如果当前元素a[i]大于后续元素a[j]并且以a[j]结尾的最长递增子序列长度dp2[j]+1大于以a[i]结尾的最长递增子序列长度do2[i]
            {
                dp2[i]=dp2[j]+1;//表示找到了更长的递增子序列
            }
        }
    }
    //预处理，从左往右LIS
    for(int i=2;i<=n;i++)
    {
        for(int j=1;j<i;j++)
        {
            if(a[i]>a[j]&&dp1[i]<=dp1[j]+1)
            {
                dp1[i]=dp1[j]+1;
            }
        }
    }

    int maxx=0;
    for(int i=1;i<=n;i++)
    {
        s[i]=dp2[i]+dp1[i]-1;
        //自己算了两次，所以-1


        if(s[i]>maxx)
        {
            maxx=s[i];
        }
    }

    cout<<n-maxx;//是求出列的人数

}